home *** CD-ROM | disk | FTP | other *** search
/ TPUG - Toronto PET Users Group / TPUG Users Group CD / TPUG Users Group CD.iso / COMAL / Z-Misc Series / (k)ze.d64 / txt.run protect < prev    next >
Text File  |  2007-03-01  |  2KB  |  108 lines

  1. ╥╒╬ PROTECTION
  2. --------------
  3. BY ─ICK ╦LINGENS,
  4. ─UTCH ├╧═┴╠ ╒SERS ╟ROUP
  5.  
  6. ┴CCESS TO A LARGE COMPUTER SYSTEM
  7. NEEDS TYPING IN A KEYWORD (SOMETIMES
  8. MORE THAN ONE). ┴CCESS TO A PROGRAM
  9. BEFORE RUNNING SOMETIMES NEEDS TYPING
  10. IN A CODE; IN THIS CASE A SMALL
  11. PROGRAM ON A SMALL COMPUTER USING A
  12. GREAT LANGUAGE.
  13.  
  14. ╠OOK AT THE FOLLOWING.
  15.  
  16. ╘YPE
  17.  
  18.    ╠╧┴─ "EXAM.CODELOAD"
  19.  
  20. ┴FTER THE PROGRAM HAS BEEN LOADED IN
  21. MEMORY, A PROMPT IS DISPLAYED SHOWN
  22. ON THE SCREEN
  23.  
  24.    TYPE CODE:
  25.  
  26. ┴ND IF THE CODE DOES NOT MATCH, AFTER
  27. A <RETURN>,
  28.  
  29.    ERROR IN CODE, RESET
  30.  
  31. IS PRINTED. ╬OW, RESET THE COMPUTER
  32. AND TRY AGAIN,  USING
  33.  
  34.    CML80
  35.  
  36. AS THE CODE WANTED.
  37.  
  38. ╘HE ABOVE IS POSSIBLE WITH A SMALL
  39. MODULE IN THE FILE 'OBJ.CODELOAD'
  40. WHICH IS LINKED TO THE PROGRAM.
  41.  
  42. ╙OME INFORMATION ON THE MODULE
  43. FOLLOWS NOW.
  44.  
  45. ┴ SIGNAL ROUTINE DETECTS THE PROGRAM
  46. LOAD (╠╧┴─, ╥╒╬, OR ├╚┴╔╬) WITH
  47.  
  48. SIGNAL CPY #LOAD  
  49.        BNE NLOAD
  50.        LDA POWER
  51.        BEQ FIRST
  52.        JSR INCODE
  53.  
  54. ┴FTER THE SIGNAL IS SENT TO THE
  55. MODULE FOR THE FIRST TIME, A
  56. VARIABLE, ╨╧╫┼╥, IS CHECKED: THE
  57. VALUE EQUALS ZERO. ╘HEN ╨╧╫┼╥ IS
  58. INCREMENTED WITH ONE AND A SECOND
  59. SIGNAL IS SENT TO THE MODULE: ╨╧╫┼╥
  60. NOW EQUALS 1 (NOT ZERO) AND A MODULE
  61. SUBROUTINE ╔╬├╧─┼ ASKS FOR THE CODE
  62. TO BE TYPED IN. ╔F THE CODE IS
  63. CORRECT AN 'AUTORUN' IS PERFORMED BY
  64.  
  65.        LDA #255
  66.        STA HEADLN
  67.        STA CDBUF+3
  68.        LDA #RUN
  69.        STA CDBUF+4
  70.  
  71. ╬OW A CODED ╥╒╬ COMMAND IS STORED IN
  72. THE CODE BUFFER. ╘HIS COMMAND IS
  73. EXECUTED BY
  74.  
  75.        JSR EXCUTE
  76.        JMP COMAL  ;├╧═┴╠ EDITOR
  77.  
  78. ╘HE OTHER LINES IN THE SIGNAL ROUTINE
  79. ARE
  80.  
  81. FIRST  INC POWER
  82. NLOAD  RTS        ;BACK TO COMAL
  83. POWER  .BYT 0
  84.  
  85. ╘HE SUBROUTINE ╔╬├╧─┼ PRINTS THE
  86. PROMPT ON THE SCREEN AND ASKS FOR THE
  87. CODE USING ANOTHER SUBROUTINE ╥┼┴─.
  88. ╘HE <RESTORE> KEY IS ALSO DISABLED BY
  89. ╔╬├╧─┼. ╥┼┴─ CHECKS THE TYPED CODE
  90. AND IF THE CODE DOES NOT MATCH
  91. ANOTHER ROUTINE IS CALLED, ├─┼╥╥ AND
  92. THE MODULE IS BLOCKED BY
  93.  
  94. LOOP   JMP LOOP  ;FORCING A RESET
  95.  
  96. ╔F ONE DELETES THE LINE
  97.  
  98.        JSR INCODE
  99.  
  100. FROM THE MODULE ONLY AN 'AUTORUN' IS
  101. PERFORMED AFTER LOADING.
  102.  
  103. ┬ECAUSE ALL CONSTANTS, VARIABLES AND
  104. ROUTINES ARE DEFINED AT THE BEGINNING
  105. OF THE FILE 'SRC.CODELOAD', THE FILE
  106. ├64╙┘═┬ IS NOT NEEDED DURING
  107. ASSEMBLING THE FILE.
  108.